i.mem - Flash Memory

ID Type Example Description
i.mem.blocks.counts.append integer 2 The total number of blocks that have been appended to.
i.mem.blocks.counts.erase integer 132448 The total number of blocks that have been erased.
i.mem.blocks.counts.read integer 29 The total number of pages that have been read from the file-system.
i.mem.blocks.counts.wear integer 27463 The total number of wear-levelling operations.
i.mem.blocks.counts.write integer 99 The total number of pages that have been written to the file-system.
i.mem.blocks.erased integer 981 The number of pre-erased blocks in the file-system.
i.mem.blocks.fw string 'A+B+C+D' Shows the firmware block allocations. A=existing, B=uploaded, C=to-erase, D=erased. #Firmware/v290
i.mem.blocks.size integer 131072 The size of a Flash storage block. Usually 128k. (A block is sub-divided into 2k pages.)
i.mem.blocks.total integer 989 The total number of Flash storage blocks that can be used for the system. Some blocks are reserved for firmware, while other blocks may be mapped out (because they were marked as defective).
i.mem.blocks.totalstore integer 984 The number of blocks that are available for use by the channel storage area.
i.mem.blocks.used integer 8 The number of blocks that have been used by storage and static files.
i.mem.blocks.usedstore integer 3 The number of blocks that have been used by storage files only.
i.mem.blocks.waiting integer 0 The number of blocks that are waiting to be erased. When a large file is erased it may take several seconds to erase the blocks.
i.mem.file[#].blocks integer 1 The number of flash blocks that the static file is using. “#” is between 1 and 16.
i.mem.file[#].size integer 5181 The total size, in bytes, of the static file.
i.mem.store[#].blocks integer 1 The total number of blocks that a storage file is using. “#” is the channel number.
i.mem.store[#].frozen integer 0 The “frozen” byte size of the storage file. The file is frozen to allow reading while writing can continue.
i.mem.store[#].lostnew integer 0 The total number of new bytes that have been thrown away (because the file has reached the maximum, or because the file system is full).
i.mem.store[#].lostold integer 0 The total number of old bytes that have been erased to make room for new data.
i.mem.store[#].size integer 40 The total number of bytes in the channel storage file.
Note

Most flash devices have some bad blocks. Up to 10% of the blocks may be bad, while blocks can age and die with extensive use

Note

There may be no bytes in the storage area, but the storage file may still be using a block – there are still blank pages to be used before the block gets erased.